package com.assignwork.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springblade.core.mp.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import org.springblade.core.tenant.mp.TenantEntity;
import org.springblade.core.tool.utils.DateUtil;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * VoyageInfo
 */
@Data
@TableName("voyage_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "VoyageInfo对象", description = "航次信息")
public class VoyageInfo extends TenantEntity {

    /** 船ID */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "船ID")
    private Long shipId;

    /** 进出口 */
    @ApiModelProperty(value = "进出口")
    private String impExp;

    /** 航次号 */
    @ApiModelProperty(value = "航次号")
    private String voyageNo;

    /** 签证吨 */
    @ApiModelProperty(value = "签证吨")
    private BigDecimal visaTon;

    /** 船头 */
    @ApiModelProperty(value = "船头")
    private String prowHawser;

    /** 船尾 */
    @ApiModelProperty(value = "船尾")
    private String sternHawser;

    /** 预结 */
    @ApiModelProperty(value = "预结")
    private Integer isBudget;

    /** 完船 */
    @ApiModelProperty(value = "完船")
    private Integer isFinish;

    /** 停时 */
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
    @JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
    @ApiModelProperty(value = "停时")
    private LocalDateTime residenceTime;

    /** 小货类 */
    @ApiModelProperty(value = "小货类")
    private String liteCargoType;

    /** 预做吨 */
    @ApiModelProperty(value = "预做吨")
    private BigDecimal preTon;

    /** 结吨 */
    @ApiModelProperty(value = "结吨")
    private BigDecimal finishTon;
    
}